from django.conf import settings
from django.core.mail import send_mail

from celery_tasks.main import celery_app


# @celery_app.task(name='send_email')
'''
bind 保证task对象会作为一个参数自动传入
name 异步任务的别名
retry_backoff 异常自动重试的间隔时长(s)
'''
@celery_app.task(bind=True,name='send_email',retry_backoff=3)
def send_email(self,to_email, verify_url):
    # send_mail('标题','普通邮箱正文','发件人邮箱','收件人列表','富文本邮件正文（html）')
    subject='美多商城邮箱验证'
    html_message='<p>尊敬的用户你好！</p>' \
                 '<p>感谢使用美多商城</p>' \
                 '<p>你的邮箱为:%s,请点击此链接激活你的邮箱</p>' \
                 '<p><a href="%s">%s<a></p>'%(to_email,verify_url,verify_url)

    try:
        send_mail(subject,'',settings.EMAIL_FROM,[to_email],html_message=html_message)
    except Exception as e:
        # 触发错误重试，最多3次
        raise self.retry(exc=e,max_retries=3)